Sigo recibiendo el error anterior cuando intento iniciar sesión con Google en Firebase. Mi código
const provider = new GoogleAuthProvider();exportar const auth = getAuth();
export async function signUpGoogle(userType) { return await signInWithPopup(auth, provider) .then((result) => { // This gives you a Google Access Token. You can use it to access the Google API. const credential = GoogleAuthProvider.credentialFromResult(result); const token = credential.accessToken; // The signed-in user info. const user = result.user; // ... // create user in firestore //init services // Add a new document in collection "users" setDoc(collection(db, "users", "/", `${userType}`, '/', 'users'), { userId: user.uid, firstName: user.displayName, lastName: user.displayName, contactNumber: user.phoneNumber, county: "", idNumber: "", city: "", zipCode: "", fullName: "", email: user.email, imageAsUrl: { imageAsUrl: user.photoURL, }, }).catch((e) => { console.log(e.toString()); }); sessionStorage.setItem("Auth Token", token); return true }).catch((error) => { // Handle Errors here. const errorCode = error.code; const errorMessage = error.message; // The email of the user's account used. const email = error.email; // The AuthCredential type that was used. const credential = GoogleAuthProvider.credentialFromError(error); console.log(errorCode, errorMessage); console.log(error); // ... return false }); }He seguido la documentación de google sobre el inicio de sesión con google y javascript
el error que me sale es
FirebaseError: Expected type 'Zu', but it was: a custom ea objectsetDoc() toma una DocumentReference como parámetro, es decir, debe especificar el ID del documento. Puede usar addDoc() en su lugar si desea generar una identificación aleatoria. Pero podría ser útil usar el UID del usuario como el ID del documento, así que intente:
setDoc(doc(db, `users/${userType}/users/${user.uid}`), { userId: user.uid, firstName: user.displayName, // ... }).catch((e) => { console.log(e.toString()); });